home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / WORDMISC / EASYRITE.LZH / LABLFILE.BAS < prev    next >
BASIC Source File  |  1985-01-15  |  32KB  |  398 lines

  1. 10 CLS:REM LABLFILE BY GINACO: BRUNO LARSEN, SUN CITY, ARIZONA
  2. 30 REM (C) 1984 BY BRUNO M. LARSEN, G I N A C O
  3. 40 CLS:KEY OFF:CLEAR:DIM MM$(30),TT$(20),USER$(50):DIM A$(200),B$(200),C$(200),D$(200),E$(200),F$(200),INPTR$(50),FIN$(50),AA$(200),FILE$(200),P1%(200):SCREEN 0,0,0:COLOR 7,0:WIDTH 80:FOR KK=1 TO 10:KEY KK,"":NEXT KK:GOSUB 170:GOTO 210
  4. 170 USER$(4)="NAME":USER$(6)="ADDRESS":USER$(8)="ADDRESS":USER$(10)="ADDRESS":USER$(12)="FILE DATA":USER$(14)="FILE DATA"
  5. 180 RETURN
  6. 210 LOCATE 2,2,0:PRINT"┌";STRING$(76,"─");"┐":PRINT" │                                                                            │":TT$(1)=" │        █         ██     █▀▀▀▀▀█ █      █▀▀▀▀    ô    █       █▀▀▀▀▀█       │
  7. 250 TT$(2)=" │        █        █  █    █     █ █      █        █    █       █             │":TT$(3)=" │        █       █▀▀▀▀█   █▀▀▀▀▀█ █      █▀▀▀     █    █       █▀▀▀▀         │
  8. 270 TT$(4)=" │        █      █      █  █     █ █      █        █    █       █             │":TT$(5)=" │        █▄▄▄█ █        █ █▄▄▄▄▄█ █▄▄▄▄█ █      ▄▄█▄▄  █▄▄▄▄▄█ █▄▄▄▄▄█       │":FOR PL=1 TO 5:PRINT TT$(PL):NEXT
  9. 320 PRINT" │                                                                            │":PRINT" │                User Supported Software   by   Bruno M. Larsen              │
  10. 340 PRINT" │                                                                            │":PRINT" │              (C) G I N A C O -- 1985         Ver 3.5 (PC-JR)               │
  11. 360 PRINT" │                                                                            │":PRINT" │                                                                            │":LOCATE 14,2:PRINT"└";STRING$(76,"─");"┘
  12. 400 REM ===== INPUT FROM USER ON LABEL SIZE AND LINES TO PRINT  =====
  13. 410 LOCATE 16,36:COLOR 15:PRINT"LABEL SIZE":COLOR 7,0:LOCATE 18,4,0:PRINT"<PRESS>";:COLOR 15:PRINT" 6 ";:COLOR 7:PRINT"FOR 1.0 INCH 6 LINE label":LOCATE 18,43,0:PRINT"<PRESS>";:COLOR 15:PRINT" 9 ";:COLOR 7:PRINT"FOR 1.5 INCH 9 LINE label
  14. 570 LZ$=INKEY$:IF LZ$=""THEN 570
  15. 590 IF VAL(LZ$)=6 THEN 610
  16. 600 IF VAL(LZ$)<>9 THEN BEEP:GOTO 570
  17. 610 LOCATE 20,19,0:PRINT"Select <PRESS> ";:COLOR 15:PRINT" 3, 4, 5,";:COLOR 7,0:PRINT" or ";:COLOR 15:PRINT" 6 ";:COLOR 7,0:PRINT" PRINTED LINES.
  18. 710 NRLB$=INKEY$:IF NRLB$=""THEN 710
  19. 730 IF VAL(NRLB$)<3 OR VAL(NRLB$)>6 THEN BEEP:BEEP:GOTO 710
  20. 740 REM ==== DO YOU NEED INSTRUCTIONS QUERY  =====
  21. 750 COLOR 15:LOCATE 24,25,0:PRINT"DO YOU NEED INSTRUCTIONS (Y/N)":COLOR 7,0
  22. 790 QQ$=INKEY$:LOCATE 23,20,0,8,7:IF QQ$=""THEN 790
  23. 820 IF QQ$="y"OR QQ$="Y"THEN 840
  24. 830 IF QQ$="n"OR QQ$="N"THEN 1400
  25. 840 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:FOR KK=1 TO 10:KEY KK,"":NEXT:DEF SEG:POKE 91,25:POKE 92,25:KEY 6,CHR$(64):KEY 2,CHR$(35):FOR FB=2 TO 23:LOCATE FB,1:PRINT CHR$(186):LOCATE FB,79:PRINT CHR$(186):NEXT:LOCATE 1,1,0
  26. 1030 PRINT CHR$(201);STRING$(77,205);CHR$(187);:LOCATE 22,1,0:PRINT CHR$(204);STRING$(77,205);CHR$(185);:LOCATE 24,1,0:PRINT CHR$(200);STRING$(77,205);CHR$(188);:FOR MM=1 TO 20:LOCATE MM,9:PRINT MM$(MM)
  27. 1110 MM$(2)="CAUTION: Exit LABLFILE through the CONTROL or PRINT Menu ONLY!":MM$(3)="  Using Ctrl-Break will exit without cursor & scroll control":MM$(4)="  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28. 1140 MM$(5)="   LABLFILE is a rapid-response, flexible file management pro-":MM$(6)="gram which can be used for many purposes. It's default config-":MM$(7)="ured with a three-line  label-print routine which can be modi-
  29. 1170 MM$(8)="fied on startup by responding to the label size and # of lines":MM$(9)="promts as desired.  These selections may be changed from Menus":MM$(10)="during program execution. INKEY$ response is used extensively.
  30. 1200 MM$(11)="Use <ENTER> key when instructed.  A <PRESS> PROMPT evokes auto-":MM$(12)="matic entry. When selecting files to print, <ENTER> 1st #, wait":MM$(13)="for a prompt and <ENTER> the last file # to print. For a single
  31. 1230 MM$(14)="file, enter the same # each time at the prompt.  Four different":MM$(15)="print styles are available with EPSON & IBM coded printers, and":MM$(16)="are selected from the PRINT Menu.   LABEL SIZE, number of lines
  32. 1260 MM$(17)="to be printed,  and file INPUT-HEADINGS may be modified during":MM$(18)="program execution from the CONTROL Menu and PRINT menus. Every":MM$(19)="effort has been made to provide <ESCAPE ROUTES> back to a MENU
  33. 1290 MM$(20)="for reselection during all program functions. G I N A C O-1985":NEXT MM:LOCATE 23,9,0:PRINT"<PRESS> F-6 TO CONTINUE.        <PRESS> F-2 TO RESET LABEL SIZE";
  34. 1330 IN$=INKEY$:IF IN$=""THEN 1330
  35. 1350 IF IN$=CHR$(64)THEN 1400
  36. 1360 IF IN$=CHR$(35)THEN 1380
  37. 1370 GOTO 1330
  38. 1380 CLS:GOSUB 2480:GOSUB 13900
  39. 1400 CLS:SCREEN 0,0,0:WIDTH 80:FOR NK=1 TO 10:KEY NK,"":NEXT:SCREEN 0,1,0,0:KEY OFF:DEF SEG:POKE 91,25:POKE 92,25:LOCATE 1,1,0,12,13:A$="":B$="":C$="":D$="":E$="":F$="":DEFINT A-Z:I=0:P=1:FINLEN=0:P=1:IN$="":ON ERROR GOTO 11890
  40. 1650 CLS:KEY OFF:BB$=TIME$:GOSUB 2480:GOTO 2010
  41. 1700 REM =====  PRINTER SELECT ROUTINE  =====
  42. 1710 CLS:GOSUB 2070:DEF SEG=&H40:A=PEEK(&H8):B=PEEK(&H9):C=PEEK(&HA):D=PEEK(&HB):POKE &H8,C:POKE &H9,D:POKE &HA,A:POKE &HB,B:IF PEEK(&H9)=3 THEN LPT$="1"ELSE LPT$="2
  43. 1830 LOCATE 7,30,0:PRINT"Primary Printer = LPT";LPT$+":";:LOCATE 9,24:PRINT"To continue with program <PRESS> 1";:LOCATE 11,24,0:PRINT"Reset LPT1 OR LPT2       <PRESS> 2";" ";:GOSUB 2790:GOSUB 2410:GOSUB 3110:LOCATE 21,68,0:LOW=49:HIGH=50:FINLEN=1
  44. 1960 GOSUB 3220:ON VAL(INPTR$)GOTO 2890,1700
  45. 1980 GOTO 2890
  46. 1990 GOSUB 3220:REM  ===== INITIAL FORMAT AND BOX MENU  =====
  47. 2010 CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:GOTO 5690
  48. 2060 REM =====  PROGRAM FOR BOX PRINTOUT =======
  49. 2070 REM =====  PRINT BOX 1 =====
  50. 2080 COLOR 7,0:WW=76:TL=1:LL=24:LC=2:GOSUB 2290:RETURN
  51. 2150 REM =====  PRINT BOX 2 =====
  52. 2160 WW=76:TL=18:LL=24:LC=2:GOSUB 2290:RETURN
  53. 2220 REM =====  PRINT BOX 2A =====
  54. 2230 WW=76:TL=14:LL=24:LC=2:GOSUB 2290:RETURN
  55. 2290 REM =====  ACTUAL PRINT ROUTINE =====
  56. 2300 LOCATE TL,LC,0:PRINT TLC$;STRING$(WW,HL$);TRC$;:FOR BD=(TL+1)TO(LL-1):LOCATE BD,LC,0:PRINT VL$;:LOCATE BD,(LC+WW+1),0:PRINT VL$;:NEXT:LOCATE LL,LC,0:PRINT BLC$;STRING$(WW,HL$);BRC$;:RETURN
  57. 2410 REM =====  PRINT BOX 3 =====
  58. 2420 WW=23:TL=20:LL=22:LC=50:GOSUB 2290:RETURN
  59. 2480 REM =====  INITIALIZATION ROUTINE =====
  60. 2490 TLC$=CHR$(201):TRC$=CHR$(187):HL$=CHR$(205):BLC$=CHR$(200):BRC$=CHR$(188):VL$=CHR$(186):PR$="###  \                                  \     \                     \
  61. 2560 M1ST$="A ══"+CHR$(16)+" Add  Records   C ══"+CHR$(16)+" Choose Printer   D ══"+CHR$(16)+" Disk Directories":M2ND$="E ══"+CHR$(16)+" Edit Records   L ══"+CHR$(16)+" Load Disk File   P ══"+CHR$(16)+" Print Label Menu
  62. 2580 M3RD$="Q ══"+CHR$(16)+" Quit Program   R ══"+CHR$(16)+" Review Records   S ══"+CHR$(16)+" Save (Disk File)":M4TH$="Z ══"+CHR$(16)+" Re-set Sizes   N ══"+CHR$(16)+" Rename Records   X ══"+CHR$(16)+" Empty:  ONE File":RETURN
  63. 2610 REM =====  CLEAR TOP BOX FORM  =====
  64. 2620 FOR CS=2 TO 17:LOCATE TL,3,0:PRINT SPC(76):NEXT:RETURN
  65. 2670 REM =====  CLEAR UPPER 1/2 SCREEN FOR DIRECTORY  =====
  66. 2680 FOR CS=1 TO 17:LOCATE CS,1,0:PRINT SPC(79):NEXT:RETURN
  67. 2730 REM =====  CLEAR BOTTOM BOX FORM EXCEPT FOR INSERT  =====
  68. 2740 FOR CS=19 TO 23:LOCATE CS,3,0:PRINT SPC(47):NEXT:RETURN
  69. 2790 REM =====  CLEAR BOTTOM BOX INCLUDING INSERT  =====
  70. 2800 FOR CS=19 TO 23:LOCATE CS,3,0:PRINT SPC(75):NEXT:RETURN
  71. 2850 REM =====  PRINT MIDDLE BOX CONNECTING LINE VERT/HORZ  =====
  72. 2860 LOCATE 18,2,0:PRINT"╠";STRING$(76,"═");"╣";:RETURN
  73. 2890 REM =====  QUERY CLEAR AND RETURN ROUTINE =====
  74. 2900 CLS:GOSUB 2220:GOSUB 13410:GOSUB 12510:ON MS GOTO 3700,3700,1700,1700,12840,12840,7160,7160,5010,5010,8840,8840,11650,11650,5290,5290,4740,4740,2950,2950,14430,14430,15190,15190
  75. 2950 GOSUB 13900:GOTO 2890
  76. 2960 REM =====  CLEARS TOP FORM DOWN TO HORIZONTAL LINE  =====
  77. 2970 FOR CS=3 TO 17:LOCATE CS,3,0:PRINT SPC(75):NEXT:RETURN
  78. 3020 REM =====  CLEARS THE RESPONSE INPUT BOX  =====
  79. 3030 LOCATE 21,52,0:PRINT SPC(22);:RETURN
  80. 3060 REM =====  CLEARS THE RESPONSE LINE BEFORE INSERT BOX  =====
  81. 3070 LOCATE 21,10,0:PRINT SPC(39);:RETURN
  82. 3100 REM =====  "SELECT" SUBROUTINE  =====
  83. 3110 LOCATE 21,51,0:PRINT SPC(22);:LOCATE 21,76:LOCATE 21,53:PRINT"SELECT               ║    ║":RETURN
  84. 3170 REM =====  CLEARS INPUT BOX LINE  =====
  85. 3180 LOCATE 21,52,0:PRINT SPC(21);:LOCATE 21,76:RETURN
  86. 3220 REM =====  INKEY$ ROUTINE FOR NUMBER RESPONSES =====
  87. 3230 FIN$="
  88. 3240 IF INKEY$><""THEN 3240
  89. 3250 INPTR$=INKEY$:IF INPTR$=""THEN 3250
  90. 3270 IF INPTR$=CHR$(13)THEN RETURN
  91. 3280 IF INPTR$<>CHR$(8)THEN 3330
  92. 3290 IF FIN$=""THEN SOUND 600,4:GOTO 3250
  93. 3300 PRINT CHR$(29);" ";CHR$(29);:FIN$=LEFT$((FIN$),LEN(FIN$)-1):GOTO 3250
  94. 3330 IF(ASC(INPTR$)<LOW OR ASC(INPTR$)>HIGH)THEN SOUND 400,4:GOTO 3250
  95. 3340 FIN$=FIN$+INPTR$:PRINT INPTR$;:IF LEN(FIN$)=FINLEN THEN RETURN
  96. 3370 GOTO 3250
  97. 3380 REM =====  YES OR NO INKEY$ RESPONSE ROUTINE  =====
  98. 3390 IN$=INKEY$:IF IN$=""THEN 3380
  99. 3410 YN=0:IF(IN$="Y"OR IN$="y")THEN YN=1:RETURN
  100. 3430 IF(IN$="N"OR IN$="n")THEN YN=2:RETURN
  101. 3440 SOUND 400,4:GOTO 3380
  102. 3460 REM =====  CHECK FOR CARRIAGE RETURN INPUT  =====
  103. 3470 IF INKEY$><""GOTO 3460
  104. 3480 IN$=INKEY$:IF IN$=""THEN 3480
  105. 3500 IF IN$<>CHR$(13)THEN SOUND 400,4:GOTO 3480
  106. 3510 RETURN
  107. 3520 REM =====  INPUT ROUTINE FOR LETTER RESPONSES =====
  108. 3530 COLOR 7,0:FIN$="":IF FINLEN=0 THEN FINLEN=255
  109. 3560 IF INKEY$><""THEN 3560
  110. 3570 INPTR$=INKEY$:IF INPTR$=""THEN 3570
  111. 3590 IF INPTR$=CHR$(13)THEN RETURN
  112. 3600 IF INPTR$<>CHR$(8)THEN 3650
  113. 3610 IF FIN$=""THEN SOUND 600,4:GOTO 3570
  114. 3620 PRINT CHR$(29);"■";CHR$(29);:FIN$=LEFT$((FIN$),LEN(FIN$)-1):GOTO 3570
  115. 3650 IF LEN(FIN$)=FINLEN THEN SOUND 600,4:GOTO 3570
  116. 3660 IF ASC(INPTR$)<31 OR ASC(INPTR$)>125 THEN SOUND 400,4:GOTO 3570
  117. 3670 PRINT INPTR$;:FIN$=FIN$+INPTR$:GOTO 3570
  118. 3700 REM =====  INITIAL FILE OR SINGLE LABEL INPUT PROGRAM  =====
  119. 3710 GOSUB 15210:CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:LOCATE 21,30,0:PRINT"Make DATA Entries ";:LOCATE 17,20:COLOR 15:PRINT"Do not use QUOTATION MARKS when entering data!";:COLOR 7,0:GOSUB 6630:IF P>=1 THEN P1=P:P=200
  120. 3840 FOR I=P1 TO P:GOSUB 7010:GOSUB 3020:LOCATE 21,52,0:PRINT"Record #:";:LOCATE 21,64,0:PRINT I;:LOCATE 4,30,1,0,7:FINLEN=41:GOSUB 3520:A$(I)=FIN$:LOCATE 4,30,0:PRINT A$(I);:IF(A$(I)="END"OR A$(I)="end")THEN P=I
  121. 3980 IF(A$(I)="END"OR A$(I)="end")THEN 4620
  122. 3990 LOCATE 6,30,1:FINLEN=41:GOSUB 3520:B$(I)=FIN$:LOCATE 6,30,0:PRINT B$(I);:LOCATE 8,30,1:FINLEN=41:GOSUB 3520:C$(I)=FIN$:LOCATE 8,30,0:PRINT C$(I):LOCATE 10,30,1:FINLEN=41:GOSUB 3520:D$(I)=FIN$:LOCATE 10,30,0:PRINT D$(I);:LOCATE 12,30,1:FINLEN=41
  123. 4190 GOSUB 3520:E$(I)=FIN$:LOCATE 12,30,0:PRINT E$(I);:LOCATE 14,30,1:FINLEN=41:GOSUB 3520:F$(I)=FIN$:LOCATE 14,30,0
  124. 4280 GOSUB 2730:LOCATE 21,20,0:COLOR 15:PRINT"Is this correct <Y/N> ";:COLOR 7,0:GOSUB 3380:IF YN=1 THEN 4540
  125. 4350 IF YN=2 THEN 4360
  126. 4360 GOSUB 2070:GOSUB 2850:GOSUB 3020:GOSUB 3060:LOCATE 21,18:COLOR 15:PRINT"Re-enter what line? ";:COLOR 7,0:LOCATE 21,55:PRINT" Line # ";:FINLEN=1:LOW=49:HIGH=54:GOSUB 3220:GOSUB 3020:LOCATE 21,62:PRINT VAL(INPTR$);
  127. 4530 ON VAL(INPTR$)GOTO 6010,6040,6070,6100,6130,6160
  128. 4540 GOSUB 2730:LOCATE 21,18:PRINT"ENTER ";:COLOR 15:PRINT CHR$(34)"END"CHR$(34);:COLOR 7,0:PRINT" To CLOSE entries ";:NEXT
  129. 4620 CLS:COLOR 7,0:GOSUB 2150:GOSUB 2410:LOCATE 21,20:COLOR 15:PRINT"SAVE to DISK <Y/N> ";:COLOR 7,0:GOSUB 3380:IF YN=1 THEN 4730
  130. 4720 IF YN=2 THEN 5270
  131. 4730 REM =====  DATA SAVE ROUTINE TO DISK  =====
  132. 4740 CLS
  133. 4750 GOSUB 2150:GOSUB 2410:LOCATE 21,27,0:COLOR 15:PRINT"What is FILE name? ";:COLOR 7,0:GOSUB 3170:FINLEN=14:LOCATE 21,52:COLOR 15:PRINT"DRIVE? ■:■■■■■■■■.■■■";:COLOR 7,0:LOCATE 21,59,0:GOSUB 3520:FILESPEC$=FIN$:GOSUB 3060:OPEN "O",1,FILESPEC$
  134. 4920 WRITE#1,P:FOR I=1 TO P:WRITE#1,A$(I),B$(I),C$(I),D$(I),E$(I),F$(I):IF(A$(I)="END"OR A$(I)="end")THEN P=I
  135. 4960 IF(A$(I)="END"OR A$(I)="end")THEN 4980
  136. 4970 NEXT
  137. 4980 CLOSE:GOSUB 12510:GOTO 5270
  138. 5010 REM =====  DISK DATA READ ROUTINE  =====
  139. 5015 CLS
  140. 5020 GOSUB 2150:GOSUB 2410:LOCATE 21,27:COLOR 15:PRINT"What is FILE name? ";:COLOR 7,0:GOSUB 3170:FINLEN=14:LOCATE 21,52:COLOR 15:PRINT"DRIVE? ■:■■■■■■■■.■■■";:COLOR 7,0:LOCATE 21,59,0:GOSUB 3520:FILESPEC$=FIN$:GOSUB 3060:OPEN "I",1,FILESPEC$
  141. 5200 INPUT#1,P:FOR I=1 TO P:INPUT#1,A$(I),B$(I),C$(I),D$(I),E$(I),F$(I):IF(A$(I)="END"OR A$(I)="end")THEN P=I
  142. 5240 IF(A$(I)="END"OR A$(I)="END")THEN 5260
  143. 5250 NEXT
  144. 5260 CLOSE
  145. 5270 REM =====  CHANCE TO REVIEW INPUT FILES  =====
  146. 5280 GOTO 2890
  147. 5290 REM =====  STARTING OUTPUT LOOP =====
  148. 5300 CLS:GOSUB 2070:GOSUB 2850:K=1:NR=13
  149. 5350 LOCATE 4,7:FOR I=K TO P:GOTO 5380
  150. 5380 LOCATE,7:PRINT SPC(70):LOCATE,7:PRINT USING PR$;I;A$(I);RIGHT$(E$(I),12):IF A$(I)="END"OR A$(I)="end"THEN 5510
  151. 5430 IF I=NR THEN 5450ELSE 5440
  152. 5440 NEXT
  153. 5450 GOSUB 2790:LOCATE 21,30:PRINT"<PRESS> ENTER to Continue!";:GOSUB 3460:IF I=P THEN 5510
  154. 5500 IF I<P THEN K=I+1:NR=NR+13:GOTO 5350
  155. 5510 GOSUB 2790:LOCATE 21,13:PRINT"Last Record in File";:LOCATE 21,45:PRINT"<PRESS> ANY KEY to Continue";
  156. 5560 RES$=INKEY$:IF RES$=""THEN 5560
  157. 5580 GOTO 2890
  158. 5590 PRINT"ADD RECORDS TO FILE  <PRESS> 3";:COLOR 7,0:LOCATE 21,50,0:GOSUB 3110:GOSUB 12510:FINLEN=1:LOW=49:HIGH=51:GOSUB 3220:ON VAL(INPTR$)GOTO 8830,7150,3700
  159. 5690 REM =====  PRINT IN INITIAL MENU SELECTION ITEMS  =====
  160. 5700 LOCATE 3,32:PRINT"LABEL/FILE PROGRAM";:LOCATE 4,32:PRINT"══════════════════";:LOCATE 6,35:PRINT"C H O I C E S";:LOCATE 7,35:PRINT"═════════════";:LOCATE 9,25:PRINT"Recall Disk FILE              1";:LOCATE 11,25
  161. 5810 PRINT"Open New FILE                 2";:LOCATE 13,25:PRINT"Make single label             3";:LOCATE 15,25:PRINT"CONTROL Menu                  4";:LOCATE 21,20:PRINT"Select & <PRESS> a Number";:GOSUB 3110:GOSUB 12510:FINLEN=1:LOW=49:HIGH=52
  162. 5930 GOSUB 3220:ON VAL(INPTR$)GOTO 5010,3700,3700,2890
  163. 5950 REM =====  INDIVIDUAL LINE CORRECTION ROUTINE  =====
  164. 5960 FOR I=4 TO 14 STEP 2:LOCATE I,28:PRINT"  ";STRING$(41,254);:NEXT:GOTO 6190
  165. 6010 LOCATE 4,28:PRINT"  ";STRING$(41,254);:GOTO 6190
  166. 6040 LOCATE 6,28:PRINT"  ";STRING$(41,254);:GOTO 6280
  167. 6070 LOCATE 8,28:PRINT"  ";STRING$(41,254);:GOTO 6350
  168. 6100 LOCATE 10,28:PRINT"  ";STRING$(41,254);:GOTO 6420
  169. 6130 LOCATE 12,28:PRINT"  ";STRING$(41,254);:GOTO 6490
  170. 6160 LOCATE 14,28:PRINT"  ";STRING$(41,254);:GOTO 6560
  171. 6190 LOCATE 4,30,1:FINLEN=41:GOSUB 3520:A$(I)=FIN$:LOCATE 4,30,0:PRINT A$(I);:GOTO 4280
  172. 6260 IF(A$(I)="END"OR A$(I)="end")THEN P=I
  173. 6270 IF(A$(I)="END"OR A$(I)="end")THEN 4620
  174. 6280 LOCATE 6,30,1:FINLEN=41:GOSUB 3520:B$(I)=FIN$:LOCATE 6,30,0:PRINT B$(I);:GOTO 4280
  175. 6350 LOCATE 8,30,1:FINLEN=41:GOSUB 3520:C$(I)=FIN$:LOCATE 8,30,0:PRINT C$(I);:GOTO 4280
  176. 6420 LOCATE 10,30,1:FINLEN=41:GOSUB 3520:D$(I)=FIN$:LOCATE 10,30,0:PRINT D$(I);:GOTO 4280
  177. 6490 LOCATE 12,30,1:FINLEN=41:GOSUB 3520:E$(I)=FIN$:LOCATE 12,30,0:PRINT E$(I);:GOTO 4280
  178. 6560 LOCATE 14,30,1:FINLEN=41:GOSUB 3520:F$(I)=FIN$:LOCATE 14,30,0:PRINT F$(I);:GOTO 4280
  179. 6630 REM =====  FILL IN LINE INPUT TITLE BLOCKS  =====
  180. 6640 LOCATE 4,14:PRINT USER$(4);:LOCATE,27:PRINT"1:";:LOCATE 5,14:PRINT STRING$(LEN(USER$(4)),"~");:LOCATE 6,14:PRINT USER$(6);:LOCATE,27:PRINT"2:";:LOCATE 7,14:PRINT STRING$(LEN(USER$(6)),"~");:LOCATE 8,14:PRINT USER$(8);:LOCATE,27:PRINT"3:";
  181. 6800 LOCATE 9,14:PRINT STRING$(LEN(USER$(8)),"~");:LOCATE 10,14:PRINT USER$(10);:LOCATE,27:PRINT"4:";:LOCATE 11,14:PRINT STRING$(LEN(USER$(10)),"~");:LOCATE 12,14:PRINT USER$(12);:LOCATE,27:PRINT"5:";:LOCATE 13,14:PRINT STRING$(LEN(USER$(12)),"~");
  182. 6940 LOCATE 14,14:PRINT USER$(14);:LOCATE,27:PRINT"6:";:LOCATE 15,14:PRINT STRING$(LEN(USER$(14)),"~");:RETURN
  183. 7010 REM =====  COLORS IN INPUT LINES  =====
  184. 7020 LOCATE 2,28:COLOR 31:PRINT"  "STRING$(15,32)CHR$(25);:COLOR 7,0:LOCATE 2,22:PRINT"MAX for EXPANDED PRINT";:LOCATE 2,47:PRINT"with 4 ½ inch labels":FOR Q=4 TO 14 STEP 2:LOCATE Q,30:PRINT STRING$(41,254);:NEXT:RETURN
  185. 7150 REM =====  EDIT INDIVIDUAL RECORDS ROUTINE =====
  186. 7160 Z=0:CLS:GOSUB 2150:GOSUB 2410:LOCATE 20,18:COLOR 15:PRINT"What RECORD NUMBER To edit ";:COLOR 7,0:LOCATE 22,18:PRINT"<ENTER> RECORD NUMBER ";:FINLEN=3:LOW=48:HIGH=57:GOSUB 2070:GOSUB 2410:GOSUB 3100:LOCATE 21,64,0:GOSUB 3220:Z=VAL(FIN$):GOSUB 12510
  187. 7360 IF P=0 THEN 12740
  188. 7370 IF(Z<1 OR Z>P)THEN 12740
  189. 7380 REM =====  DISPLAYING RECORDS TO BE EDITED =====
  190. 7390 ON Z GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 6630:GOSUB 7010:GOSUB 3020:LOCATE 21,53,0:PRINT"Record #: ";:LOCATE 21,64:PRINT Z;:LOCATE 4,30:PRINT A$(Z);:IF A$(1)="END"THEN P=Z:COLOR 7,0
  191. 7520 LOCATE 6,30:PRINT B$(Z);:LOCATE 8,30:PRINT C$(Z);:LOCATE 10,30:PRINT D$(Z);:LOCATE 12,30:PRINT E$(Z);:LOCATE 14,30:PRINT F$(Z);
  192. 7620 GOSUB 2730:COLOR 7,0:GOSUB 3060:COLOR 7,0:LOCATE 21,20:PRINT"Is this correct <Y/N> ";:COLOR 7,0:GOSUB 3380:IF YN=1 THEN 8730
  193. 7710 IF YN=2 THEN 7720
  194. 7720 COLOR 7,0:GOSUB 2730:GOSUB 3020:GOSUB 3060:LOCATE 21,18:COLOR 15:PRINT"Re-enter what LINE? ";:COLOR 7,0:LOCATE 21,55:PRINT" Line # ";:FINLEN=1:LOW=49:HIGH=54:GOSUB 3220:GOSUB 3020:LOCATE 21,55:PRINT" Line # ";:LOCATE 21,64:PRINT VAL(INPTR$);
  195. 7910 ON VAL(INPTR$)GOTO 7930,7980,8030,8080,8130,8180
  196. 7920 REM =====  INDIVIDUAL LINE ROUTINE FOR RECALLED RECORDS  =====
  197. 7930 COLOR 7,0:LOCATE 4,30,1,0,7:COLOR 0,7:PRINT A$(Z):GOTO 8280
  198. 7980 COLOR 7,0:LOCATE 6,30,1,0,7:COLOR 0,7:PRINT B$(Z):GOTO 8370
  199. 8030 COLOR 7,0:LOCATE 8,30,1,0,7:COLOR 0,7:PRINT C$(Z):GOTO 8440
  200. 8080 COLOR 7,0:LOCATE 10,30,1,0,7:COLOR 0,7:PRINT D$(Z):GOTO 8510
  201. 8130 COLOR 7,0:LOCATE 12,30,1,0,7:COLOR 0,7:PRINT E$(Z):GOTO 8580
  202. 8180 COLOR 7,0:LOCATE 14,30,1,0,7:COLOR 0,7:PRINT F$(Z):GOTO 8650
  203. 8230 COLOR 7,0:FOR Q=4 TO 14 STEP 2:LOCATE Q,30,1,0,7:PRINT STRING$(41,254);:NEXT
  204. 8280 LOCATE 4,30,1:FINLEN=41:GOSUB 3520:A$(Z)=FIN$:LOCATE 4,30,0:PRINT A$(Z);:GOTO 7620
  205. 8350 IF A$(Z)="END"OR A$(Z)="end"THEN P=Z
  206. 8360 IF A$(Z)="END"OR A$(Z)="end"THEN 8740
  207. 8370 LOCATE 6,30,1:FINLEN=41:GOSUB 3520:B$(Z)=FIN$:LOCATE 6,30,0:PRINT B$(Z);:GOTO 7620
  208. 8440 LOCATE 8,30,1:FINLEN=41:GOSUB 3520:C$(Z)=FIN$:LOCATE 8,30,0:PRINT C$(Z);:GOTO 7620
  209. 8510 LOCATE 10,30,1:FINLEN=41:GOSUB 3520:D$(Z)=FIN$:LOCATE 10,30,0:PRINT D$(Z);:GOTO 7620
  210. 8580 LOCATE 12,30,1:FINLEN=41:GOSUB 3520:E$(Z)=FIN$:LOCATE 12,30,0:PRINT E$(Z);:GOTO 7620
  211. 8650 LOCATE 14,30,1:FINLEN=41:GOSUB 3520:F$(Z)=FIN$:LOCATE 14,30,0:PRINT F$(Z);:COLOR 7,0:GOTO 7620
  212. 8730 REM =====  LOOK AT ANOTHER RECORD AFTER CORRECTION =====
  213. 8740 CLS:COLOR 7,0:GOSUB 2150:GOSUB 2410:LOCATE 21,18:COLOR 7,0:PRINT"Edit another RECORD <Y/N> ";:GOSUB 3380:ON YN GOTO 7150,4620
  214. 8830 REM =====  LABEL PRINT ROUTINES =====
  215. 8840 CLS:GOSUB 2070:GOSUB 2850:LOCATE 3,32:PRINT"LABEL/FILE PROGRAM";:LOCATE 4,32:COLOR 7,0:PRINT"══════════════════";:LOCATE 5,35:PRINT"C H O I C E S":LOCATE 6,35:PRINT"═════════════";:LOCATE 8,26:PRINT"1ST Line BOLD Print...........1";:LOCATE 9,26
  216. 8990 PRINT"All lines BOLD Print..........2";:LOCATE 10,26:PRINT"All Lines NORMAL 10 pitch.....3"
  217. 9000 LOCATE 11,26:PRINT"All lines CONDENSED Print.....4":LOCATE 12,26
  218. 9070 PRINT"Return to CONTROL Menu........5";:LOCATE 13,26:PRINT"Read DISK DIRECTORIES.........6";:LOCATE 14,26: PRINT"Reset LABEL SIZE..............7";:LOCATE 15,26:PRINT"QUIT the program..............8";:GOSUB 2410:LOCATE 21,20
  219. 9160 PRINT"<PRESS> a NUMBER SELECTION ";:GOSUB 3110:GOSUB 12510:FINLEN=1:LOW=49:HIGH=56:GOSUB 3220:ON VAL(INPTR$)GOTO 9250,9320,9460,9530,2890,12830,9240,11640
  220. 9240 GOSUB 13900:GOTO 8830
  221. 9250 REM =====  1ST LINE BOLD =====
  222. 9260 CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 9600:GOTO 10410
  223. 9320 REM =====  ALL LINES BOLD =====
  224. 9330 CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 9600:GOTO 10600
  225. 9390 REM =====  ALL LINES ITALICS =====
  226. 9400 CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 9600:GOTO 10770
  227. 9460 REM =====  10 PITCH (PICA) =====
  228. 9470 CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 9600:GOTO 10960
  229. 9530 REM =====  ALL LINES CONDENSED =====
  230. 9540 CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 9600:GOTO 11130
  231. 9600 REM =====  LIST PRINT CHOICE MENU  =====
  232. 9610 LOCATE 6,35:PRINT"C H O I C E S";:LOCATE 7,35:PRINT"═════════════";:LOCATE 9,25:PRINT"Check Printer ON and SELECTED.";:COLOR 7,0:LOCATE 10,25:PRINT"CHECK LABELS LOADED AND ALIGNED";:LOCATE 11,25:PRINT"<ENTER> record RANGE to print";:LOCATE 13,25
  233. 9730 PRINT"I.E. <ENTER> FIRST Record Number to Print";:LOCATE 14,31:PRINT"Then <ENTER> Last Record Number";:GOSUB 3060:LOCATE 21,20:PRINT"<ENTER> Record Print Range ";:LB=0:LE=0:GOSUB 3020:LOCATE 21,52:PRINT"First # ";:LOCATE 21,62:FINLEN=3:LOW=48
  234. 9870 HIGH=57:GOSUB 3220:LB=VAL(FIN$):LOCATE 21,61:PRINT LB;:FOR I=1 TO 500:NEXT:GOSUB 3020:LOCATE 21,52,0:PRINT"Last # ";:GOSUB 12510:FINLEN=3:LOW=48:HIGH=57:LOCATE 21,62,0:GOSUB 3220:LE=VAL(FIN$):IF LE=<P THEN 10090
  235. 10050 IF LE>P THEN LOCATE 21,52:COLOR 15:PRINT"NO SUCH FILE!";:LOCATE 21,10:PRINT SPC(30):LOCATE 21,20:PRINT"<PRESS> Any Key to Continue.":COLOR 7
  236. 10060 RES$=INKEY$:IF RES$=""THEN 10060
  237. 10080 GOTO 8830
  238. 10090 LOCATE 21,61:PRINT LE;:FOR TM=1 TO 500:NEXT TM:CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:LOCATE 6,35:PRINT"PRINT  LABELS";:LOCATE 7,35:PRINT"═════════════";:LOCATE 12,30:PRINT"How many of each labeL.    ";:LOCATE 21,16
  239. 10240 PRINT"Indicate & <ENTER> Quantity ";:REM =====  NUMBER OF EACH LABEL =====
  240. 10260 GOSUB 3020:LOCATE 21,52:PRINT"# of each  ";:NL=0:FINLEN=3:LOW=48:HIGH=57:GOSUB 3220:NL=VAL(FIN$):LOCATE 21,62:PRINT NL;:FOR I=1 TO 500:NEXT:GOSUB 12510:RETURN
  241. 10410 REM =====  1ST LINE ONLY SHADOW ON  IBM GRAPHICS PRINTER =====
  242. 10420 FOR N=LB TO LE:FOR M=1 TO NL:LPRINT CHR$(27);CHR$(69);:LPRINT A$(N):LPRINT CHR$(27);CHR$(70);:LPRINT B$(N):LPRINT C$(N):IF VAL(NRLB$)>3 THEN LPRINT D$(N)ELSE LPRINT"
  243. 10520 IF VAL(NRLB$)>4 THEN LPRINT E$(N)ELSE LPRINT"
  244. 10530 IF VAL(NRLB$)>5 THEN LPRINT F$(N)ELSE LPRINT"
  245. 10540 IF VAL(LZ$)=6 THEN 10560
  246. 10550 IF VAL(LZ$)=9 THEN LPRINT:LPRINT:LPRINT
  247. 10560 NEXT:NEXT:GOSUB 13690:GOTO 10420
  248. 10600 REM =====  ALL LINES BOLD PRINT ON IBM GRAPHICS PRINTER =====
  249. 10610 LPRINT CHR$(27)+"E";:FOR N=LB TO LE:FOR M=1 TO NL:LPRINT A$(N):LPRINT B$(N):LPRINT C$(N):IF VAL(NRLB$)>3 THEN LPRINT D$(N)ELSE LPRINT"
  250. 10690 IF VAL(NRLB$)>4 THEN LPRINT E$(N)ELSE LPRINT"
  251. 10700 IF VAL(NRLB$)>4 THEN LPRINT F$(N)ELSE LPRINT"
  252. 10710 IF VAL(LZ$)=6 THEN 10730
  253. 10720 IF VAL(LZ$)=9 THEN LPRINT:LPRINT:LPRINT
  254. 10730 NEXT:NEXT:GOSUB 13690:LPRINT CHR$(27);CHR$(70);:GOTO 10600
  255. 10770 REM =====  ALL LINES ITACICS/EMPHASIZED  =====
  256. 10780 LPRINT CHR$(27)+"@";:LPRINT CHR$(27)+CHR$(69);:LPRINT CHR$(27)+CHR$(52);:FOR N=LB TO LE:FOR M=1 TO NL:LPRINT A$(N):LPRINT B$(N):LPRINT C$(N):IF VAL(NRLB$)>3 THEN LPRINT D$(N)ELSE LPRINT" 
  257. 10870 IF VAL(NRLB$)>4 THEN LPRINT E$(N)ELSE LPRINT" 
  258. 10880 IF VAL(NRLB$)>5 THEN LPRINT F$(N)ELSE LPRINT" 
  259. 10890 IF VAL(LZ$)=6 THEN 10910
  260. 10900 IF VAL(LZ$)=9 THEN LPRINT:LPRINT:LPRINT
  261. 10910 NEXT:NEXT:GOSUB 13690:GOTO 10770
  262. 10950 IF VAL(LZ$)=6 THEN 10910
  263. 10960 REM =====  10 PITCH (PICA) PRINT =====
  264. 10970 LPRINT CHR$(27);CHR$(70);
  265. 10975 LPRINT CHR$(18);:FOR N=LB TO LE:FOR M=1 TO NL:LPRINT A$(N):LPRINT B$(N):LPRINT C$(N):IF VAL(NRLB$)>3 THEN LPRINT D$(N)ELSE LPRINT"
  266. 11050 IF VAL(NRLB$)>4 THEN LPRINT E$(N)ELSE LPRINT" 
  267. 11060 IF VAL(NRLB$)>5 THEN LPRINT F$(N)ELSE LPRINT" 
  268. 11070 IF VAL(LZ$)=6 THEN 11090
  269. 11080 IF VAL(LZ$)=9 THEN LPRINT:LPRINT:LPRINT
  270. 11090 NEXT:NEXT:GOSUB 13690:GOTO 10960
  271. 11130 REM =====  ALL LINES CONDENSED =====
  272. 11140 FOR N=LB TO LE:FOR M=1 TO NL:LPRINT CHR$(15);A$(N):LPRINT B$(N):LPRINT C$(N):IF VAL(NRLB$)>3 THEN LPRINT D$(N)ELSE LPRINT"
  273. 11210 IF VAL(NRLB$)>4 THEN LPRINT E$(N)ELSE LPRINT" 
  274. 11220 IF VAL(NRLB$)>5 THEN LPRINT F$(N)ELSE LPRINT" 
  275. 11230 IF VAL(LZ$)=6 THEN 11240
  276. 11240 IF VAL(LZ$)=9 THEN LPRINT:LPRINT:LPRINT
  277. 11250 NEXT:NEXT:LPRINT CHR$(18);:GOSUB 13690:GOTO 11130
  278. 11300 REM =====  PRINT OUT FIRST LINE OF EACH RECORD  =====
  279. 11310 CLS:LOCATE 5,30:PRINT"EXTRACT FROM: ";FILESPEC$;:POKE 91,1:POKE 92,25:LOCATE 7,15:PRINT"FILE SUMMARY REPORT ";FILESPEC$;" AS OF ";DATE$;:PRINT:PRINT
  280. 11320 FOR FL=1 TO P:PRINT TAB(10);A$(FL):NEXT FL
  281. 11480 LPRINT TAB(10)"FILE SUMMARY REPORT ";FILESPEC$;"  AS OF   ";DATE$:LPRINT
  282. 11490 FOR FL=1 TO P:
  283. 11540 LPRINT TAB(8);;LEFT$(A$(FL),20);TAB(30)LEFT$(B$(FL),20):PN=PN+1:IF PN=55 THEN LPTINT CHR$(140):LPRINT STRING$(10,5):PN=5
  284. 11570 NEXT FL:GOSUB 12510
  285. 11590 LOCATE,,,0,7:DEF SEG:POKE 91,1:CLS:END
  286. 11640 REM =====  FINAL SCREEN DISPLAY =====
  287. 11650 CLS:GOSUB 2070:GOSUB 2850:GOSUB 2410:GOSUB 3100:GOSUB 12510:LOCATE 6,23:PRINT"Open New File                 <PRESS> 1"
  288. 11655 LOCATE 8,23:PRINT"Print first LINE & Summary    <PRESS> 2";:LOCATE 9,33:PRINT"<PAPER IN PRINTER>";:LOCATE 11,23:PRINT"Return to CONTROL Menu        <PRESS> 3";
  289. 11770 LOCATE 13,23:PRINT"Run EasyRite Word Processor   <PRESS> 4":LOCATE 15,23:PRINT"Thanks!  Bye!       To QUIT - <PRESS> 5";:LOCATE 21,65,0:FINLEN=1:LOW=49:HIGH=53:GOSUB 3220:ON VAL(INPTR$)GOTO 1400,11300,2890,15580,11590
  290. 11850 LOCATE,,,0,7:POKE 91,1:POKE 92,25:END
  291. 11890 REM =====  ERROR TRAP ROUTINE =====
  292. 11900 GOSUB 3060:LOCATE 25,2:PRINT SPC(78);:KEY OFF:LOCATE 25,28,0:COLOR 24,4:PRINT" ERROR ";:COLOR 7,0:PRINT" #";ERR;" IN LINE #";ERL;:FOR T=1 TO 1000:NEXT:IF ERR=53 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12050
  293. 12020 LOCATE 20,10:PRINT"File not found   ";:PRINT" ** Load CORRECT Disk";
  294. 12050 IF ERR=54 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12090
  295. 12060 LOCATE 20,10:PRINT"Bad file mode    ";:PRINT" ** Correct File Mode";
  296. 12090 IF ERR=55 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12130
  297. 12100 LOCATE 20,10:PRINT"File already OPEN ";:PRINT" ** CLOSE and REOPEN";
  298. 12130 IF ERR=61 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12170
  299. 12140 LOCATE 20,10:PRINT"Disk FULL         ";:PRINT" ** Install New Disk";
  300. 12170 IF ERR=70 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12210
  301. 12180 LOCATE 20,10:PRINT"Disk WRITE PROTECT  ";:PRINT" ** Remove W/P Tab";
  302. 12210 IF ERR=71 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12250
  303. 12220 LOCATE 20,10:PRINT"Disk NOT READY    ";:PRINT" ** CLOSE Drive Door";
  304. 12250 IF ERR=24 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12290
  305. 12260 LOCATE 20,10:PRINT"Printer OFF-LINE ";:PRINT"  ** Set ON-LINE Mode";
  306. 12290 IF ERR=25 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12330
  307. 12300 LOCATE 20,10:PRINT"Printer not ON    ";:PRINT" ** Check Printer ON";
  308. 12330 IF ERR=27 THEN LOCATE 20,10:PRINT SPC(30),ELSE 12420
  309. 12340 LOCATE 20,10:PRINT"OUT OF PAPER!     ";:PRINT" ** Check Paper Path";
  310. 12370 LOCATE 22,20:GOSUB 2410:GOSUB 3020:GOSUB 3060:RETURN
  311. 12420 GOSUB 12370:LOCATE 22,10,0:PRINT"Correct SYSTEM ERROR - <PRESS> ENTER";:LOCATE 22,10,0:GOSUB 3460:KEY ON:KEY OFF:COLOR 7,0:RESUME 2890
  312. 12510 REM =====  ELAPSED TIME PRINTOUT SUBROUTINE =====
  313. 12520 N$=TIME$:DEF FNH(H$)=VAL(LEFT$(H$,2)):DEF FNM(M$)=VAL(MID$(M$,4,2)):DEF FNS(S$)=VAL(RIGHT$(S$,2)):TMH=(FNH(N$))-FNH(BB$):TMM=(FNM(N$)-FNM(BB$)):TMS=(FNS(N$)-FNS(BB$)):LOCATE 25,2:PRINT SPC(78);:KEY OFF:LOCATE 25,5:PRINT"Start Time ";BB$;
  314. 12640 LOCATE 25,30:PRINT"End Time ";N$;:LOCATE 25,53:PRINT"Elapsed Time ";TMH;":";ABS(TMM);":";ABS(TMS);:RETURN
  315. 12690 CLS:LOCATE,,,0,7:POKE 91,1:POKE 92,25:END
  316. 12740 CLS:GOSUB 2070:LOCATE 10,22,0:PRINT"File Empty, or No Such Record in File!";:LOCATE 12,27,0:PRINT"<PRESS> Any Key to Continue";
  317. 12800 RES$=INKEY$:IF RES$=""THEN 12800
  318. 12820 GOTO 2890
  319. 12830 REM =====  DISK DIRECTORY REVIEW ROUTINE =====
  320. 12840 CLS:GOSUB 2410:GOSUB 2150:GOSUB 3020:LOCATE 21,20,0:PRINT"What Drive (A,B,C,D)";:KEY OFF:MZ$="":MZ$="AaBbCcDd":GOSUB 3110:GOSUB 13590:LOCATE 21,65,0:PRINT IN$;:ON MS GOTO 12980,12980,13050,13050,13120,13120,13190,13190
  321. 12980 LOCATE 3,1:FILES"A:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive A: ";:COLOR 7,0:GOTO 13250
  322. 13050 LOCATE 3,1:FILES"B:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive B: ";:COLOR 7,0:GOTO 13250
  323. 13120 LOCATE 3,1:FILES"C:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive C: ";:COLOR 7,0:GOTO 13250
  324. 13190 LOCATE 3,1:FILES"D:*.*":COLOR 0,7:LOCATE 2,32:PRINT" Drive D: ";:COLOR 7,0
  325. 13250 GOSUB 2790:GOSUB 2150:LOCATE 20,24:PRINT"Another Directory?      <PRESS 1>";:LOCATE 21,24:PRINT"Put File into LablFile? <PRESS 2>";:LOCATE 22,24:PRINT"Return to CONTROL Menu? <PRESS 3>";:LOCATE 21,65,0:FINLEN=1:LOW=49:HIGH=51:GOSUB 3220
  326. 13360 ON VAL(INPTR$)GOTO 13370,13400,13380
  327. 13370 GOTO 12830
  328. 13380 CLS:GOTO 2890
  329. 13400 FOR LC=19 TO 22:LOCATE LC,10:PRINT SPC(50):NEXT:GOTO 5020
  330. 13410 REM =====  CONTROL MENU DISPLAY ROUTINE =====
  331. 13420 LOCATE 16,9,0:PRINT M1ST$;:LOCATE 18,9,0:PRINT M2ND$;:LOCATE 20,9,0:PRINT M3RD$;:LOCATE 22,9,0:PRINT M4TH$;:LOCATE 14,25:PRINT"  Select and <PRESS> a Letter  ";:LOCATE 15,27:PRINT STRING$(27,"~");:GOSUB 12510:MZ$="":MZ$="AaCcDdEeLlPpQqRrSsZzXxNn
  332. 13570 GOSUB 13590:RETURN
  333. 13590 REM =====  INKEY RESPONSE FOR DIRECTORY SELECTION  =====
  334. 13600 IN$=INKEY$:IF IN$=""THEN 13590
  335. 13620 MS=INSTR(MZ$,IN$):IF MS=0 THEN SOUND 1000,4:GOTO 13590
  336. 13640 RETURN
  337. 13650 LOCATE,,,0,7:POKE 91,1:POKE 92,25:END
  338. 13690 REM =====  OPTION SUBROUTINE IN PRINT SEQUENCE  =====
  339. 13700 LPRINT CHR$(27)+"@";:CLS:GOSUB 2150:GOSUB 2410:LOCATE 20,13:PRINT"To REPRINT this label/s    <PRESS> 1";:LOCATE 21,13:PRINT"To print DIFFERENT label/s <PRESS> 2";:LOCATE 22,13:PRINT"To CONTROL Menu            <PRESS> 3";:GOSUB 3110:GOSUB 12510
  340. 13820 FINLEN=1:LOW=49:HIGH=51:GOSUB 3220:NL=1:ON VAL(INPTR$)GOTO 13880,8830,2890
  341. 13880 RETURN
  342. 13890 END
  343. 13900 REM =====  IN PROGRAM  RESET OF LABEL SIZE  =====
  344. 13910 IF VAL(LZ$)=6 THEN SIZE$="1 INCH
  345. 13920 IF VAL(LZ$)=9 THEN SIZE$="1½ INCH
  346. 13930 CLS:GOSUB 2070:LOCATE 8,9:PRINT"PRINT ROUTINE CURENTLY SET FOR ";:COLOR 15:LOCATE 8,40:PRINT SIZE$:COLOR 7,0:LOCATE 8,47:PRINT" LABELS and ";:COLOR 15:PRINT;NRLB$;:COLOR 7,0:PRINT" PRINT LINES.":LZ$="":NRLB$="":LOCATE 12,25:COLOR 15:COLOR 7,0
  347. 14120 LOCATE 14,25,0:PRINT"<PRESS>";:COLOR 15:PRINT" 6 ";:COLOR 7:PRINT"FOR 1.0 INCH 6 LINE label":LOCATE 16,25,0:PRINT"<PRESS>";:COLOR 15:PRINT" 9 ";:COLOR 7:PRINT"FOR 1.5 INCH 9 LINE label
  348. 14240 LZ$=INKEY$:IF LZ$=""THEN 14240
  349. 14260 IF VAL(LZ$)=6 THEN 14280
  350. 14270 IF VAL(LZ$)<>9 THEN BEEP:GOTO 14240
  351. 14280 LOCATE 20,19,0:PRINT"Select <PRESS> ";:COLOR 15:PRINT" 3, 4, 5,";:COLOR 7,0:PRINT" or ";:COLOR 15:PRINT" 6 ";:COLOR 7,0:PRINT" PRINTED LINES.
  352. 14380 NRLB$=INKEY$:IF NRLB$=""THEN 14380
  353. 14400 IF VAL(NRLB$)<3 OR VAL(NRLB$)>6 THEN BEEP:BEEP:GOTO 14380
  354. 14410 RETURN
  355. 14420 END
  356. 14430 REM =====  EMPTY OUT A SINGLE RECORD/FILE  =====
  357. 14440 CLS:GOSUB 2150:GOSUB 2410:GOSUB 3100:LOCATE 21,10,0:PRINT"WHICH FILE DO YOU WISH TO EMPTY":FINLEN=3:LOW=48:HIGH=57:LOCATE 21,62,0:GOSUB 3220:GOSUB 3020:XR=VAL(FIN$):LOCATE 21,62,0:LOCATE 21,62,0:PRINT XR:IF XR<=P THEN 14690
  358. 14610 IF XR>P THEN GOSUB 3020:COLOR 15:LOCATE 21,52:PRINT"NO SUCH FILE!";:COLOR 7
  359. 14620 LOCATE 21,10,0:PRINT SPC(35):LOCATE 10,27:PRINT"<PRESS> Any Key to Continue.
  360. 14660 RES$=INKEY$:IF RES$=""THEN 14660
  361. 14680 GOTO 2890
  362. 14690 ON VAL(INPTR$)GOTO 14700
  363. 14700 GOSUB 2070:LOCATE 4,20:PRINT"FILE RECORD ";:COLOR 15:PRINT XR;:COLOR 7,0:PRINT" READS:":LOCATE 6,20:PRINT A$(XR):LOCATE 7,20:PRINT B$(XR):LOCATE 8,20:PRINT C$(XR):LOCATE 9,20:PRINT D$(XR):LOCATE 10,20:PRINT E$(XR):LOCATE 11,20:PRINT F$(XR):COLOR 15
  364. 14900 LOCATE 21,10:PRINT"DO YOU WANT TO EMPTY THIS FILE (Y/N)":COLOR 7:GOSUB 3380:IF YN=1 THEN 14960
  365. 14950 IF YN=2 THEN 2890
  366. 14960 LOCATE 21,10:PRINT SPC(40):A$(XR)="<<═ E M P T Y ═>>":B$(XR)="":C$(XR)="":D$(XR)="":E$(XR)="":F$(XR)="":LOCATE 13,20:PRINT"FILE RECORD ";:COLOR 15:PRINT XR;:COLOR 7,0:PRINT" HAS BEEN EMPTIED":LOCATE 15,20
  367. 15110 PRINT"YOU MAY REFILL THIS RECORD USING EDIT FUNCTION":LOCATE 21,10,0:PRINT SPC(30):LOCATE 21,20,0:PRINT"<PRESS> ANY KEY TO CONTINUE
  368. 15160 A$=INKEY$:IF A$=""THEN 15160
  369. 15180 GOTO 2890
  370. 15190 GOSUB 15210:GOTO 2890
  371. 15210 REM =====  OPTIONAL RESET OF INPUT HEADINGS  =====
  372. 15220 CLS:GOSUB 2070:GOSUB 2850:GOSUB 6630:LOCATE 21,18:PRINT"ARE THE CURRENT FILE HEADINGS SATISFACTORY  (Y/N)":GOSUB 3380:IF YN=1 THEN RETURN
  373. 15300 IF YN=2 THEN 15310
  374. 15310 LOCATE 21,10:PRINT SPC(60):LOCATE 21,18:PRINT"INPUT NEW HEADINGS (10 CHARACTERS MAX)"
  375. 15320 LOCATE 4,14,0
  376. 15330 FOR LINEIN%=4 TO 14 STEP 2
  377. 15340 LOCATE LINEIN%,50
  378. 15350 PRINT STRING$(10,254)
  379. 15360 NEXT
  380. 15370 FOR LINEOUT%=4 TO 14 STEP 2
  381. 15375 LOCATE LINEOUT%,50,1,0,7
  382. 15380 FINLEN%=10
  383. 15385 GOSUB 3520
  384. 15390 USER$(LINEOUT%)=FIN$
  385. 15400 LOCATE LINEOUT%,50,0
  386. 15410 PRINT USER$(UN%)
  387. 15420 NEXT
  388. 15440 REM ===== CHECK ON CORRECT INPUT =====
  389. 15450 LOCATE 21,4
  390. 15460 PRINT SPC(60)
  391. 15470 LOCATE 21,20,0
  392. 15480 PRINT"Are These Correct? <Y/N>"
  393. 15490 GOSUB 3380
  394. 15500 IF YN%=1 THEN RETURN
  395. 15510 IF YN%=2 THEN 15310
  396. 15520 END
  397. 15580 RUN"EASYRITE.BAS"
  398.